package com.ebt.m.cloud.view;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.VideoView;

/**
 * Created by FuKaiqiang on 2018-01-06.
 */

public class MyVideoView extends VideoView {

    private int screen_width = 1920;
    private int screen_height = 1080;
    //最终的视频资源宽度
    private int mVideoWidth = 480;
    //最终视频资源高度
    private int mVideoHeight = 480;
    //视频资源原始宽度
    private int videoRealW = 1;
    //视频资源原始高度
    private int videoRealH = 1;


    public MyVideoView(Context context) {
        super(context);
    }

    public MyVideoView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        //方案1--视频自动拉伸
//        int width = getDefaultSize(0, widthMeasureSpec);
//        int height = getDefaultSize(0, heightMeasureSpec);
//        if (height > width) {
//            //竖屏
//            if (videoRealH > videoRealW) {
//                //如果视频资源是竖屏
//                //占满屏幕
//                mVideoHeight = height;
//                mVideoWidth = width;
//            } else {
//                //如果视频资源是横屏
//                //宽度占满，高度保存比例
//                mVideoWidth = width;
//                float r = videoRealH / (float) videoRealW;
//                mVideoHeight = (int) (mVideoWidth * r);
//            }
//        } else {
//            //横屏
//            if (videoRealH > videoRealW) {
//                //如果视频资源是竖屏
//                //宽度占满，高度保存比例
//                mVideoHeight = height;
//                float r = videoRealW / (float) videoRealH;
//                mVideoWidth = (int) (mVideoHeight * r);
//            } else {
//                //如果视频资源是横屏
//                //占满屏幕
//                mVideoHeight = height;
//                mVideoWidth = width;
//            }
//        }
//        if (videoRealH == videoRealW && videoRealH == 1) {
//            //没能获取到视频真实的宽高，自适应就可以了，什么也不用做
//            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//        } else {
//            setMeasuredDimension(mVideoWidth, mVideoHeight);
//        }
        // 其实就是在这里做了一些处理。
//        int width = getDefaultSize(0, widthMeasureSpec);
//        int height = getDefaultSize(0, heightMeasureSpec);
//        setMeasuredDimension(width, height);
        //方案2-默认不做处理视频按照原始比例
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    }
}
